Micron Document
`:top
In mathematics, a `!submodular set function`! (also known as a `!submodular function`!) is a `F33f`_`[set function`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Set_function]`_`f that, informally, describes the relationship between a set of inputs and an output, where adding more of one input has a decreasing additional benefit (`F33f`_`[diminishing returns`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Diminishing_returns]`_`f). The natural `F33f`_`[diminishing returns`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Diminishing_returns]`_`f property which makes them suitable for many applications, including `F33f`_`[approximation algorithms`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Approximation_algorithms]`_`f, `F33f`_`[game theory`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Game_theory]`_`f (as functions modeling user preferences) and `F33f`_`[electrical networks`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Electrical_network]`_`f. Recently, submodular functions have also found utility in several real world problems in `F33f`_`[machine learning`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Machine_learning]`_`f and `F33f`_`[artificial intelligence`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Artificial_intelligence]`_`f, including `F33f`_`[automatic summarization`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Automatic_summarization]`_`f, `F33f`_`[multi-document summarization`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Multi-document_summarization]`_`f, `F33f`_`[feature selection`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Feature_selection]`_`f, `F33f`_`[active learning`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Active_learning_(machine_learning)]`_`f, sensor placement, image collection summarization and many other domains.`:cite-ref-lb-1-0[`F5bf`_`[1`#cite-note-lb-1]`_`f]`:cite-ref-tiwb-2-0[`F5bf`_`[2`#cite-note-tiwb-2]`_`f]`:cite-ref-kg1-3-0[`F5bf`_`[3`#cite-note-kg1-3]`_`f]`:cite-ref-kg-4-0[`F5bf`_`[4`#cite-note-kg-4]`_`f]

>>Contents

• `F0af`_`[Definition`#definition]`_`f
• `F0af`_`[Types and examples of submodular functions`#types-and-examples-of-submodular-functions]`_`f
• `F0af`_`[Monotone`#monotone]`_`f
• `F0af`_`[Non-monotone`#non-monotone]`_`f
• `F0af`_`[Continuous extensions of submodular set functions`#continuous-extensions-of-submodular-set-functions]`_`f
• `F0af`_`[Lovász extension`#lov-sz-extension]`_`f
• `F0af`_`[Multilinear extension`#multilinear-extension]`_`f
• `F0af`_`[Convex closure`#convex-closure]`_`f
• `F0af`_`[Concave closure`#concave-closure]`_`f
• `F0af`_`[Relations between continuous extensions`#relations-between-continuous-extensions]`_`f
• `F0af`_`[Properties`#properties]`_`f
• `F0af`_`[Optimization problems`#optimization-problems]`_`f
• `F0af`_`[Submodular set function minimization`#submodular-set-function-minimization]`_`f
• `F0af`_`[Submodular set function maximization`#submodular-set-function-maximization]`_`f
• `F0af`_`[Related optimization problems`#related-optimization-problems]`_`f
• `F0af`_`[Applications`#applications]`_`f
• `F0af`_`[See also`#see-also]`_`f
• `F0af`_`[Citations`#citations]`_`f
• `F0af`_`[References`#references]`_`f
• `F0af`_`[External links`#external-links]`_`f

-─

>>Definition

If Ω Ω {\\displaystyle \\Omega } is a finite `F33f`_`[set`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Set_(mathematics)]`_`f, a submodular function is a set function f : 2 Ω Ω → → R {\\displaystyle f:2^{\\Omega }\\rightarrow \\mathbb {R} } , where 2 Ω Ω {\\displaystyle 2^{\\Omega }} denotes the `F33f`_`[power set`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Power_set]`_`f of Ω Ω {\\displaystyle \\Omega } , which satisfies one of the following equivalent conditions.`:cite-ref-5[`F5bf`_`[5`#cite-note-5]`_`f]

1. For every X , Y ⊆ ⊆ Ω Ω {\\displaystyle X,Y\\subseteq \\Omega } with X ⊆ ⊆ Y {\\displaystyle X\\subseteq Y} and every x ∈ ∈ Ω Ω ∖ ∖ Y {\\displaystyle x\\in \\Omega \\setminus Y} we have that f ( X ∪ ∪ { x } ) − − f ( X ) ≥ ≥ f ( Y ∪ ∪ { x } ) − − f ( Y ) {\\displaystyle f(X\\cup \\{x\\})-f(X)\\geq f(Y\\cup \\{x\\})-f(Y)} .
2. For every S , T ⊆ ⊆ Ω Ω {\\displaystyle S,T\\subseteq \\Omega } we have that f ( S ) + f ( T ) ≥ ≥ f ( S ∪ ∪ T ) + f ( S ∩ ∩ T ) {\\displaystyle f(S)+f(T)\\geq f(S\\cup T)+f(S\\cap T)} .
3. For every X ⊆ ⊆ Ω Ω {\\displaystyle X\\subseteq \\Omega } and x 1 , x 2 ∈ ∈ Ω Ω ∖ ∖ X {\\displaystyle x_{1},x_{2}\\in \\Omega \\backslash X} such that x 1 ≠ ≠ x 2 {\\displaystyle x_{1}\\neq x_{2}} we have that f ( X ∪ ∪ { x 1 } ) + f ( X ∪ ∪ { x 2 } ) ≥ ≥ f ( X ∪ ∪ { x 1 , x 2 } ) + f ( X ) {\\displaystyle f(X\\cup \\{x_{1}\\})+f(X\\cup \\{x_{2}\\})\\geq f(X\\cup \\{x_{1},x_{2}\\})+f(X)} .

A nonnegative submodular function is also a `F33f`_`[subadditive`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Subadditive_set_function]`_`f function, but a subadditive function need not be submodular. If Ω Ω {\\displaystyle \\Omega } is not assumed finite, then the above conditions are not equivalent. In particular a function f {\\displaystyle f} defined by f ( S ) = 1 {\\displaystyle f(S)=1} if S {\\displaystyle S} is finite and f ( S ) = 0 {\\displaystyle f(S)=0} if S {\\displaystyle S} is infinite satisfies the first condition above, but the second condition fails when S {\\displaystyle S} and T {\\displaystyle T} are infinite sets with finite intersection.

>>Types and examples of submodular functions

>>>Monotone

A set function f {\\displaystyle f} is `*monotone`* if for every T ⊆ ⊆ S {\\displaystyle T\\subseteq S} we have that f ( T ) ≤ ≤ f ( S ) {\\displaystyle f(T)\\leq f(S)} . Examples of monotone submodular functions include:

`!Linear (Modular) functions`!
Any function of the form f ( S ) = ∑ ∑ i ∈ ∈ S w i {\\displaystyle f(S)=\\sum _{i\\in S}w_{i}} is called a linear function. Additionally if ∀ ∀ i , w i ≥ ≥ 0 {\\displaystyle \\forall i,w_{i}\\geq 0} then f is monotone.
`!`F33f`_`[Budget-additive functions`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Budget-additive_valuation]`_`f`!
Any function of the form f ( S ) = min { B , ∑ ∑ i ∈ ∈ S w i } {\\displaystyle f(S)=\\min \\left\\{B,~\\sum _{i\\in S}w_{i}\\right\\}} for each w i ≥ ≥ 0 {\\displaystyle w_{i}\\geq 0} and B ≥ ≥ 0 {\\displaystyle B\\geq 0} is called budget additive.`:cite-ref-bf-6-0[`F5bf`_`[6`#cite-note-bf-6]`_`f]
`!Coverage functions`!
Let Ω Ω = { E 1 , E 2 , … … , E n } {\\displaystyle \\Omega =\\{E_{1},E_{2},\\ldots ,E_{n}\\}} be a collection of subsets of some `F33f`_`[ground set`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Matroid]`_`f Ω Ω ′ {\\displaystyle \\Omega '} . The function f ( S ) = | ⋃ ⋃ E i ∈ ∈ S E i | {\\displaystyle f(S)=\\left|\\bigcup _{E_{i}\\in S}E_{i}\\right|} for S ⊆ ⊆ Ω Ω {\\displaystyle S\\subseteq \\Omega } is called a coverage function. This can be generalized by adding non-negative weights to the elements.
`!`F33f`_`[Entropy`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Entropy_(information_theory)]`_`f`!
Let Ω Ω = { X 1 , X 2 , … … , X n } {\\displaystyle \\Omega =\\{X_{1},X_{2},\\ldots ,X_{n}\\}} be a set of `F33f`_`[random variables`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Random_variables]`_`f. Then for any S ⊆ ⊆ Ω Ω {\\displaystyle S\\subseteq \\Omega } we have that H ( S ) {\\displaystyle H(S)} is a submodular function, where H ( S ) {\\displaystyle H(S)} is the entropy of the set of random variables S {\\displaystyle S} , a fact known as `F33f`_`[Shannon's inequality`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Entropic_vector]`_`f.`:cite-ref-7[`F5bf`_`[7`#cite-note-7]`_`f] Further inequalities for the entropy function are known to hold, see `F33f`_`[entropic vector`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Entropic_vector]`_`f.
`!`F33f`_`[Matroid`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Matroid]`_`f `F33f`_`[rank functions`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Matroid_rank]`_`f`!
Let Ω Ω = { e 1 , e 2 , … … , e n } {\\displaystyle \\Omega =\\{e_{1},e_{2},\\dots ,e_{n}\\}} be the ground set on which a matroid is defined. Then the rank function of the matroid is a submodular function.`:cite-ref-f22-8-0[`F5bf`_`[8`#cite-note-f22-8]`_`f]

>>>Non-monotone

A submodular function that is not monotone is called `*non-monotone`*. In particular, a function is called non-monotone if it has the property that adding more elements to a set can decrease the value of the function. More formally, the function f {\\displaystyle f} is non-monotone if there are sets S , T {\\displaystyle S,T} in its domain s.t. S ⊂ ⊂ T {\\displaystyle S\\subset T} and f ( S ) > f ( T ) {\\displaystyle f(S)>f(T)} .

>>>>Symmetric

A non-monotone submodular function f {\\displaystyle f} is called `*symmetric`* if for every S ⊆ ⊆ Ω Ω {\\displaystyle S\\subseteq \\Omega } we have that f ( S ) = f ( Ω Ω − − S ) {\\displaystyle f(S)=f(\\Omega -S)} . Examples of symmetric non-monotone submodular functions include:

`!Graph cuts`!
Let Ω Ω = { v 1 , v 2 , … … , v n } {\\displaystyle \\Omega =\\{v_{1},v_{2},\\dots ,v_{n}\\}} be the vertices of a `F33f`_`[graph`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Graph_(discrete_mathematics)]`_`f. For any set of vertices S ⊆ ⊆ Ω Ω {\\displaystyle S\\subseteq \\Omega } let f ( S ) {\\displaystyle f(S)} denote the number of edges e = ( u , v ) {\\displaystyle e=(u,v)} such that u ∈ ∈ S {\\displaystyle u\\in S} and v ∈ ∈ Ω Ω − − S {\\displaystyle v\\in \\Omega -S} . This can be generalized by adding non-negative weights to the edges.
`!`F33f`_`[Mutual information`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Mutual_information]`_`f`!
Let Ω Ω = { X 1 , X 2 , … … , X n } {\\displaystyle \\Omega =\\{X_{1},X_{2},\\ldots ,X_{n}\\}} be a set of `F33f`_`[random variables`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Random_variable]`_`f. Then for any S ⊆ ⊆ Ω Ω {\\displaystyle S\\subseteq \\Omega } we have that f ( S ) = I ( S ; Ω Ω − − S ) {\\displaystyle f(S)=I(S;\\Omega -S)} is a submodular function, where I ( S ; Ω Ω − − S ) {\\displaystyle I(S;\\Omega -S)} is the mutual information.

>>>>Asymmetric

A non-monotone submodular function which is not symmetric is called asymmetric.

`!Directed cuts`!
Let Ω Ω = { v 1 , v 2 , … … , v n } {\\displaystyle \\Omega =\\{v_{1},v_{2},\\dots ,v_{n}\\}} be the vertices of a `F33f`_`[directed graph`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Directed_graph]`_`f. For any set of vertices S ⊆ ⊆ Ω Ω {\\displaystyle S\\subseteq \\Omega } let f ( S ) {\\displaystyle f(S)} denote the number of edges e = ( u , v ) {\\displaystyle e=(u,v)} such that u ∈ ∈ S {\\displaystyle u\\in S} and v ∈ ∈ Ω Ω − − S {\\displaystyle v\\in \\Omega -S} . This can be generalized by adding non-negative weights to the directed edges.

>>Continuous extensions of submodular set functions

Often, given a submodular set function that describes the values of various sets, we need to compute the values of `*fractional`* sets. For example: we know that the value of receiving house A and house B is V, and we want to know the value of receiving 40% of house A and 60% of house B. To this end, we need a `*continuous extension`* of the submodular set function.

Formally, a set function f : 2 Ω Ω → → R {\\displaystyle f:2^{\\Omega }\\rightarrow \\mathbb {R} } with | Ω Ω | = n {\\displaystyle |\\Omega |=n} can be represented as a function on { 0 , 1 } n {\\displaystyle \\{0,1\\}^{n}} , by associating each S ⊆ ⊆ Ω Ω {\\displaystyle S\\subseteq \\Omega } with a binary vector x S ∈ ∈ { 0 , 1 } n {\\displaystyle x^{S}\\in \\{0,1\\}^{n}} such that x i S = 1 {\\displaystyle x_{i}^{S}=1} when i ∈ ∈ S {\\displaystyle i\\in S} , and x i S = 0 {\\displaystyle x_{i}^{S}=0} otherwise. A `*continuous `F33f`_`[extension`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Restriction_(mathematics)]`_`f`* of f {\\displaystyle f} is a continuous function F : [ 0 , 1 ] n → → R {\\displaystyle F:[0,1]^{n}\\rightarrow \\mathbb {R} } , that matches the value of f {\\displaystyle f} on x ∈ ∈ { 0 , 1 } n {\\displaystyle x\\in \\{0,1\\}^{n}} , i.e. F ( x S ) = f ( S ) {\\displaystyle F(x^{S})=f(S)} .

Several kinds of continuous extensions of submodular functions are commonly used, which are described below.

>>>Lovász extension

This extension is named after mathematician `F33f`_`[László Lovász`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=László_Lovász]`_`f.`:cite-ref-l-9-0[`F5bf`_`[9`#cite-note-l-9]`_`f] Consider any vector x = { x 1 , x 2 , … … , x n } {\\displaystyle \\mathbf {x} =\\{x_{1},x_{2},\\dots ,x_{n}\\}} such that each 0 ≤ ≤ x i ≤ ≤ 1 {\\displaystyle 0\\leq x_{i}\\leq 1} . Then the Lovász extension is defined as

f L ( x ) = E ( f ( { i | x i ≥ ≥ λ λ } ) ) {\\displaystyle f^{L}(\\mathbf {x} )=\\mathbb {E} (f(\\{i|x_{i}\\geq \\lambda \\}))}

where the expectation is over λ λ {\\displaystyle \\lambda } chosen from the `F33f`_`[uniform distribution`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Uniform_distribution_(continuous)]`_`f on the interval [ 0 , 1 ] {\\displaystyle [0,1]} . The Lovász extension is a convex function if and only if f {\\displaystyle f} is a submodular function.

>>>Multilinear extension

Consider any vector x = { x 1 , x 2 , … … , x n } {\\displaystyle \\mathbf {x} =\\{x_{1},x_{2},\\ldots ,x_{n}\\}} such that each 0 ≤ ≤ x i ≤ ≤ 1 {\\displaystyle 0\\leq x_{i}\\leq 1} . Then the multilinear extension is defined as `:cite-ref-10[`F5bf`_`[10`#cite-note-10]`_`f]`:cite-ref-11[`F5bf`_`[11`#cite-note-11]`_`f] F ( x ) = ∑ ∑ S ⊆ ⊆ Ω Ω f ( S ) ∏ ∏ i ∈ ∈ S x i ∏ ∏ i ∉ ∉ S ( 1 − − x i ) {\\displaystyle F(\\mathbf {x} )=\\sum _{S\\subseteq \\Omega }f(S)\\prod _{i\\in S}x_{i}\\prod _{i\\notin S}(1-x_{i})} .

Intuitively, `*xi`* represents the probability that item `*i`* is chosen for the set. For every set `*S`*, the two inner products represent the probability that the chosen set is exactly `*S`*. Therefore, the sum represents the expected value of `*f`* for the set formed by choosing each item `*i`* at random with probability xi, independently of the other items.

>>>Convex closure

Consider any vector x = { x 1 , x 2 , … … , x n } {\\displaystyle \\mathbf {x} =\\{x_{1},x_{2},\\dots ,x_{n}\\}} such that each 0 ≤ ≤ x i ≤ ≤ 1 {\\displaystyle 0\\leq x_{i}\\leq 1} . Then the convex closure is defined as f − − ( x ) = min ( ∑ ∑ S α α S f ( S ) : ∑ ∑ S α α S 1 S = x , ∑ ∑ S α α S = 1 , α α S ≥ ≥ 0 ) {\\displaystyle f^{-}(\\mathbf {x} )=\\min \\left(\\sum _{S}\\alpha _{S}f(S):\\sum _{S}\\alpha _{S}1_{S}=\\mathbf {x} ,\\sum _{S}\\alpha _{S}=1,\\alpha _{S}\\geq 0\\right)} .

The convex closure of any set function is convex over [ 0 , 1 ] n {\\displaystyle [0,1]^{n}} .

>>>Concave closure

Consider any vector x = { x 1 , x 2 , … … , x n } {\\displaystyle \\mathbf {x} =\\{x_{1},x_{2},\\dots ,x_{n}\\}} such that each 0 ≤ ≤ x i ≤ ≤ 1 {\\displaystyle 0\\leq x_{i}\\leq 1} . Then the concave closure is defined as f + ( x ) = max ( ∑ ∑ S α α S f ( S ) : ∑ ∑ S α α S 1 S = x , ∑ ∑ S α α S = 1 , α α S ≥ ≥ 0 ) {\\displaystyle f^{+}(\\mathbf {x} )=\\max \\left(\\sum _{S}\\alpha _{S}f(S):\\sum _{S}\\alpha _{S}1_{S}=\\mathbf {x} ,\\sum _{S}\\alpha _{S}=1,\\alpha _{S}\\geq 0\\right)} .

>>>Relations between continuous extensions

For the extensions discussed above, it can be shown that f + ( x ) ≥ ≥ F ( x ) ≥ ≥ f − − ( x ) = f L ( x ) {\\displaystyle f^{+}(\\mathbf {x} )\\geq F(\\mathbf {x} )\\geq f^{-}(\\mathbf {x} )=f^{L}(\\mathbf {x} )} when f {\\displaystyle f} is submodular.`:cite-ref-jv2-12-0[`F5bf`_`[12`#cite-note-jv2-12]`_`f]

>>Properties

1. The class of submodular functions is `F33f`_`[closed`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Closure_(mathematics)]`_`f under non-negative `F33f`_`[linear combinations`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Linear_combination]`_`f. Consider any submodular function f 1 , f 2 , … … , f k {\\displaystyle f_{1},f_{2},\\ldots ,f_{k}} and non-negative numbers α α 1 , α α 2 , … … , α α k {\\displaystyle \\alpha _{1},\\alpha _{2},\\ldots ,\\alpha _{k}} . Then the function g {\\displaystyle g} defined by g ( S ) = ∑ ∑ i = 1 k α α i f i ( S ) {\\displaystyle g(S)=\\sum _{i=1}^{k}\\alpha _{i}f_{i}(S)} is submodular.
2. For any submodular function f {\\displaystyle f} , the function defined by g ( S ) = f ( Ω Ω ∖ ∖ S ) {\\displaystyle g(S)=f(\\Omega \\setminus S)} is submodular.
3. The function g ( S ) = min ( f ( S ) , c ) {\\displaystyle g(S)=\\min(f(S),c)} , where c {\\displaystyle c} is a real number, is submodular whenever f {\\displaystyle f} is monotone submodular. More generally, g ( S ) = h ( f ( S ) ) {\\displaystyle g(S)=h(f(S))} is submodular, for any non decreasing concave function h {\\displaystyle h} .
4. Consider a random process where a set T {\\displaystyle T} is chosen with each element in Ω Ω {\\displaystyle \\Omega } being included in T {\\displaystyle T} independently with probability p {\\displaystyle p} . Then the following inequality is true E [ f ( T ) ] ≥ ≥ p f ( Ω Ω ) + ( 1 − − p ) f ( ∅ ∅ ) {\\displaystyle \\mathbb {E} [f(T)]\\geq pf(\\Omega )+(1-p)f(\\varnothing )} where ∅ ∅ {\\displaystyle \\varnothing } is the empty set. More generally consider the following random process where a set S {\\displaystyle S} is constructed as follows. For each of 1 ≤ ≤ i ≤ ≤ l , A i ⊆ ⊆ Ω Ω {\\displaystyle 1\\leq i\\leq l,A_{i}\\subseteq \\Omega } construct S i {\\displaystyle S_{i}} by including each element in A i {\\displaystyle A_{i}} independently into S i {\\displaystyle S_{i}} with probability p i {\\displaystyle p_{i}} . Furthermore let S = ∪ ∪ i = 1 l S i {\\displaystyle S=\\cup _{i=1}^{l}S_{i}} . Then the following inequality is true E [ f ( S ) ] ≥ ≥ ∑ ∑ R ⊆ ⊆ [ l ] Π Π i ∈ ∈ R p i Π Π i ∉ ∉ R ( 1 − − p i ) f ( ∪ ∪ i ∈ ∈ R A i ) {\\displaystyle \\mathbb {E} [f(S)]\\geq \\sum _{R\\subseteq [l]}\\Pi _{i\\in R}p_{i}\\Pi _{i\\notin R}(1-p_{i})f(\\cup _{i\\in R}A_{i})} .

>>Optimization problems

Submodular functions have properties which are very similar to `F33f`_`[convex`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Convex_function]`_`f and `F33f`_`[concave functions`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Concave_function]`_`f. For this reason, an `F33f`_`[optimization problem`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Optimization_problem]`_`f which concerns optimizing a convex or concave function can also be described as the problem of maximizing or minimizing a submodular function subject to some constraints.

>>>Submodular set function minimization

The hardness of minimizing a submodular set function depends on constraints imposed on the problem.

1. The unconstrained problem of minimizing a submodular function is computable in `F33f`_`[polynomial time`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Polynomial_time]`_`f,`:cite-ref-gls-13-0[`F5bf`_`[13`#cite-note-gls-13]`_`f]`:cite-ref-cunningham-14-0[`F5bf`_`[14`#cite-note-cunningham-14]`_`f] and even in `F33f`_`[strongly-polynomial`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Strongly_polynomial]`_`f time.`:cite-ref-iff-15-0[`F5bf`_`[15`#cite-note-iff-15]`_`f]`:cite-ref-schrijver-16-0[`F5bf`_`[16`#cite-note-schrijver-16]`_`f] Computing the `F33f`_`[minimum cut`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Minimum_cut]`_`f in a graph is a special case of this minimization problem.
2. The problem of minimizing a submodular function with a cardinality lower bound is `F33f`_`[NP-hard`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=NP-hard]`_`f, with polynomial factor lower bounds on the approximation factor.`:cite-ref-sf-17-0[`F5bf`_`[17`#cite-note-sf-17]`_`f]`:cite-ref-ijb-18-0[`F5bf`_`[18`#cite-note-ijb-18]`_`f]

>>>Submodular set function maximization

Unlike the case of minimization, maximizing a generic submodular function is `F33f`_`[NP-hard`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=NP-hard]`_`f even in the unconstrained setting. Thus, most of the works in this field are concerned with polynomial-time approximation algorithms, including `F33f`_`[greedy algorithms`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Greedy_algorithm]`_`f or `F33f`_`[local search algorithms`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Local_search_(optimization)]`_`f.

1. The problem of maximizing a non-negative submodular function admits a 1/2 approximation algorithm.`:cite-ref-fmv-19-0[`F5bf`_`[19`#cite-note-fmv-19]`_`f]`:cite-ref-bfns-20-0[`F5bf`_`[20`#cite-note-bfns-20]`_`f] Computing the `F33f`_`[maximum cut`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Maximum_cut]`_`f of a graph is a special case of this problem.
2. The problem of maximizing a monotone submodular function subject to a cardinality constraint admits a 1 − − 1 / e {\\displaystyle 1-1/e} approximation algorithm.`:cite-ref-nvf-21-0[`F5bf`_`[21`#cite-note-nvf-21]`_`f]`:cite-ref-22[`F5bf`_`[22`#cite-note-22]`_`f] The `F33f`_`[maximum coverage problem`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Maximum_coverage_problem]`_`f is a special case of this problem.
3. The problem of maximizing a monotone submodular function subject to a `F33f`_`[matroid`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Matroid]`_`f constraint (which subsumes the case above) also admits a 1 − − 1 / e {\\displaystyle 1-1/e} approximation algorithm.`:cite-ref-ccpv-23-0[`F5bf`_`[23`#cite-note-ccpv-23]`_`f]`:cite-ref-fns-24-0[`F5bf`_`[24`#cite-note-fns-24]`_`f]`:cite-ref-fw-25-0[`F5bf`_`[25`#cite-note-fw-25]`_`f]

Many of these algorithms can be unified within a semi-differential based framework of algorithms.`:cite-ref-ijb-18-1[`F5bf`_`[18`#cite-note-ijb-18]`_`f]

>>>Related optimization problems

Apart from submodular minimization and maximization, there are several other natural optimization problems related to submodular functions.

1. Minimizing the difference between two submodular functions`:cite-ref-nb-26-0[`F5bf`_`[26`#cite-note-nb-26]`_`f] is not only NP hard, but also inapproximable.`:cite-ref-ibuai-27-0[`F5bf`_`[27`#cite-note-ibuai-27]`_`f]
2. Minimization/maximization of a submodular function subject to a submodular level set constraint (also known as submodular optimization subject to submodular cover or submodular knapsack constraint) admits bounded approximation guarantees.`:cite-ref-ib-28-0[`F5bf`_`[28`#cite-note-ib-28]`_`f]
3. Partitioning data based on a submodular function to maximize the average welfare is known as the submodular welfare problem, which also admits bounded approximation guarantees (see `F33f`_`[welfare maximization`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Welfare_maximization]`_`f).

>>Applications

Submodular functions naturally occur in several real world applications, in `F33f`_`[economics`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Economics]`_`f, `F33f`_`[game theory`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Game_theory]`_`f, `F33f`_`[machine learning`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Machine_learning]`_`f and `F33f`_`[computer vision`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Computer_vision]`_`f.`:cite-ref-kg-4-1[`F5bf`_`[4`#cite-note-kg-4]`_`f]`:cite-ref-jb-29-0[`F5bf`_`[29`#cite-note-jb-29]`_`f] Owing to the diminishing returns property, submodular functions naturally model costs of items, since there is often a larger discount, with an increase in the items one buys. Submodular functions model notions of complexity, similarity and cooperation when they appear in minimization problems. In maximization problems, on the other hand, they model notions of diversity, information and coverage.

>>See also

• `F33f`_`[Supermodular function`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Supermodular_function]`_`f
• `F33f`_`[Matroid`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Matroid]`_`f, `F33f`_`[Polymatroid`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Polymatroid]`_`f
• `F33f`_`[Utility functions on indivisible goods`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Utility_functions_on_indivisible_goods]`_`f

>>Citations

`:cite-note-lb-1`!1.`! `F0af`_`[↑`#cite-ref-lb-1-0]`_`f H. Lin and J. Bilmes, A Class of Submodular Functions for Document Summarization, ACL-2011.
`:cite-note-tiwb-2`!2.`! `F0af`_`[↑`#cite-ref-tiwb-2-0]`_`f S. Tschiatschek, R. Iyer, H. Wei and J. Bilmes, Learning Mixtures of Submodular Functions for Image Collection Summarization, NIPS-2014.
`:cite-note-kg1-3`!3.`! `F0af`_`[↑`#cite-ref-kg1-3-0]`_`f A. Krause and C. Guestrin, Near-optimal nonmyopic value of information in graphical models, UAI-2005.
`:cite-note-kg-4`!4.`! `F0af`_`[↑`#cite-ref-kg-4-0]`_`f A. Krause and C. Guestrin, Beyond Convexity: Submodularity in Machine Learning, Tutorial at ICML-2008
`:cite-note-5`!5.`! `F0af`_`[↑`#cite-ref-5]`_`f (Schrijver `F33f`_`[2003`#citerefschrijver2003]`_`f, §44, p. 766)
`:cite-note-bf-6`!6.`! `F0af`_`[↑`#cite-ref-bf-6-0]`_`f `:citerefbuchbinderfeldman2018`aBuchbinder, Niv; Feldman, Moran (2018). "Submodular Functions Maximization Problems". In Gonzalez, Teofilo F. (ed.). `*Handbook of Approximation Algorithms and Metaheuristics, Second Edition: Methodologies and Traditional Applications`*. Chapman and Hall/CRC. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1201/9781351236423. `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 9781351236423.
`:cite-note-7`!7.`! `F0af`_`[↑`#cite-ref-7]`_`f "Information Processing and Learning" (PDF). cmu.
`:cite-note-f22-8`!8.`! `F0af`_`[↑`#cite-ref-f22-8-0]`_`f Fujishige (2005) p.22
`:cite-note-l-9`!9.`! `F0af`_`[↑`#cite-ref-l-9-0]`_`f `:citereflov-sz1983`a`F33f`_`[Lovász, L.`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=László_Lovász]`_`f (1983). "Submodular functions and convexity". `*Mathematical Programming the State of the Art`*. pp. 235–257. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1007/978-3-642-68874-4_10. `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-3-642-68876-8. `F33f`_`[S2CID`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=S2CID_(identifier)]`_`f 117358746.
`:cite-note-10`!10.`! `F0af`_`[↑`#cite-ref-10]`_`f `:citerefvondrak2008`aVondrak, Jan (2008-05-17). "Optimal approximation for the submodular welfare problem in the value oracle model". `*Proceedings of the fortieth annual ACM symposium on Theory of computing`*. STOC '08. New York, NY, USA: Association for Computing Machinery. pp. 67–74. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1145/1374376.1374389. `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-1-60558-047-0. `F33f`_`[S2CID`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=S2CID_(identifier)]`_`f 170510.
`:cite-note-11`!11.`! `F0af`_`[↑`#cite-ref-11]`_`f `:citerefcalinescuchekurip-lvondr-k2011`aCalinescu, Gruia; Chekuri, Chandra; Pál, Martin; Vondrák, Jan (January 2011). "Maximizing a Monotone Submodular Function Subject to a Matroid Constraint". `*SIAM Journal on Computing`*. `!40`! (6): 1740–1766. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1137/080733991. `F33f`_`[ISSN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISSN_(identifier)]`_`f 0097-5397.
`:cite-note-jv2-12`!12.`! `F0af`_`[↑`#cite-ref-jv2-12-0]`_`f `:citerefvondr-k`aVondrák, Jan. "Polyhedral techniques in combinatorial optimization: Lecture 17" (PDF).
`:cite-note-gls-13`!13.`! `F0af`_`[↑`#cite-ref-gls-13-0]`_`f `:citerefgr-tschellovaszschrijver1981`a`F33f`_`[Grötschel, M.`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Martin_Grötschel]`_`f; `F33f`_`[Lovasz, L.`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=László_Lovász]`_`f; `F33f`_`[Schrijver, A.`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Alexander_Schrijver]`_`f (1981). "The ellipsoid method and its consequences in combinatorial optimization". `*Combinatorica`*. `!1`! (2): 169–197. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1007/BF02579273. `F33f`_`[hdl`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Hdl_(identifier)]`_`f:10068/182482. `F33f`_`[S2CID`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=S2CID_(identifier)]`_`f 43787103.
`:cite-note-cunningham-14`!14.`! `F0af`_`[↑`#cite-ref-cunningham-14-0]`_`f `:citerefcunningham1985`aCunningham, W. H. (1985). "On submodular function minimization". `*Combinatorica`*. `!5`! (3): 185–192. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1007/BF02579361. `F33f`_`[S2CID`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=S2CID_(identifier)]`_`f 33192360.
`:cite-note-iff-15`!15.`! `F0af`_`[↑`#cite-ref-iff-15-0]`_`f `:citerefiwatafleischerfujishige2001`aIwata, S.; Fleischer, L.; Fujishige, S. (2001). "A combinatorial strongly polynomial algorithm for minimizing submodular functions". `*J. ACM`*. `!48`! (4): 761–777. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1145/502090.502096. `F33f`_`[S2CID`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=S2CID_(identifier)]`_`f 888513.
`:cite-note-schrijver-16`!16.`! `F0af`_`[↑`#cite-ref-schrijver-16-0]`_`f `:citerefschrijver2000`a`F33f`_`[Schrijver, A.`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Alexander_Schrijver]`_`f (2000). "A combinatorial algorithm minimizing submodular functions in strongly polynomial time". `*J. Combin. Theory Ser. B`*. `!80`! (2): 346–355. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1006/jctb.2000.1989.
`:cite-note-sf-17`!17.`! `F0af`_`[↑`#cite-ref-sf-17-0]`_`f Z. Svitkina and L. Fleischer, Submodular approximation: Sampling-based algorithms and lower bounds, SIAM Journal on Computing (2011).
`:cite-note-ijb-18`!18.`! `F0af`_`[↑`#cite-ref-ijb-18-0]`_`f R. Iyer, `F33f`_`[S. Jegelka`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Stefanie_Jegelka]`_`f and J. Bilmes, Fast Semidifferential based submodular function optimization, Proc. ICML (2013).
`:cite-note-fmv-19`!19.`! `F0af`_`[↑`#cite-ref-fmv-19-0]`_`f `F33f`_`[U. Feige`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Uriel_Feige]`_`f, V. Mirrokni and J. Vondrák, Maximizing non-monotone submodular functions, Proc. of 48th FOCS (2007), pp. 461–471.
`:cite-note-bfns-20`!20.`! `F0af`_`[↑`#cite-ref-bfns-20-0]`_`f N. Buchbinder, M. Feldman, J. Naor and R. Schwartz, A tight linear time (1/2)-approximation for unconstrained submodular maximization, Proc. of 53rd FOCS (2012), pp. 649-658.
`:cite-note-nvf-21`!21.`! `F0af`_`[↑`#cite-ref-nvf-21-0]`_`f `:citerefnemhauserwolseyfisher1978`a`F33f`_`[Nemhauser, George`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=George_Nemhauser]`_`f; Wolsey, L. A.; Fisher, M. L. (1978). "An analysis of approximations for maximizing submodular set functions I". `*Mathematical Programming`*. `!14`! (14): 265–294. `F33f`_`[doi`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Doi_(identifier)]`_`f:10.1007/BF01588971. `F33f`_`[S2CID`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=S2CID_(identifier)]`_`f 206800425.
`:cite-note-22`!22.`! `F0af`_`[↑`#cite-ref-22]`_`f `:citerefwilliamson`aWilliamson, David P. "Bridging Continuous and Discrete Optimization: Lecture 23" (PDF).
`:cite-note-ccpv-23`!23.`! `F0af`_`[↑`#cite-ref-ccpv-23-0]`_`f G. Calinescu, C. Chekuri, M. Pál and J. Vondrák, Maximizing a submodular set function subject to a matroid constraint, SIAM J. Comp. 40:6 (2011), 1740-1766.
`:cite-note-fns-24`!24.`! `F0af`_`[↑`#cite-ref-fns-24-0]`_`f M. Feldman, J. Naor and R. Schwartz, A unified continuous greedy algorithm for submodular maximization, Proc. of 52nd FOCS (2011).
`:cite-note-fw-25`!25.`! `F0af`_`[↑`#cite-ref-fw-25-0]`_`f Y. Filmus, J. Ward, A tight combinatorial algorithm for submodular maximization subject to a matroid constraint, Proc. of 53rd FOCS (2012), pp. 659-668.
`:cite-note-nb-26`!26.`! `F0af`_`[↑`#cite-ref-nb-26-0]`_`f M. Narasimhan and J. Bilmes, A submodular-supermodular procedure with applications to discriminative structure learning, In Proc. UAI (2005).
`:cite-note-ibuai-27`!27.`! `F0af`_`[↑`#cite-ref-ibuai-27-0]`_`f R. Iyer and J. Bilmes, Algorithms for Approximate Minimization of the Difference between Submodular Functions, In Proc. UAI (2012).
`:cite-note-ib-28`!28.`! `F0af`_`[↑`#cite-ref-ib-28-0]`_`f R. Iyer and J. Bilmes, Submodular Optimization Subject to Submodular Cover and Submodular Knapsack Constraints, In Advances of NIPS (2013).
`:cite-note-jb-29`!29.`! `F0af`_`[↑`#cite-ref-jb-29-0]`_`f J. Bilmes, Submodularity in Machine Learning Applications, Tutorial at AAAI-2015.

>>References

• `:citerefschrijver2003`a`F33f`_`[Schrijver, Alexander`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Alexander_Schrijver]`_`f (2003), `*Combinatorial Optimization`*, `F33f`_`[Springer`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Springer_Publishing]`_`f, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 3-540-44389-4
• `:citereflee2004`a`F33f`_`[Lee, Jon`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Jon_Lee_(mathematician)]`_`f (2004), `*A First Course in Combinatorial Optimization`*, `F33f`_`[Cambridge University Press`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Cambridge_University_Press]`_`f, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 0-521-01012-8
• `:citereffujishige2005`aFujishige, Satoru (2005), `*Submodular Functions and Optimization`*, `F33f`_`[Elsevier`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Elsevier]`_`f, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 0-444-52086-4
• `:citerefnarayanan1997`aNarayanan, H. (1997), `*Submodular Functions and Electrical Networks`*, Elsevier, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 0-444-82523-1
• `:citerefoxley1992`aOxley, James G. (1992), `*Matroid theory`*, Oxford Science Publications, Oxford: `F33f`_`[Oxford University Press`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Oxford_University_Press]`_`f, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 0-19-853563-5, `F33f`_`[Zbl`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Zbl_(identifier)]`_`f 0784.05002

>>External links

• http://www.cs.berkeley.edu/~stefje/references.html has a longer bibliography
• http://submodularity.org/ includes further material on the subject

`c`F0af`_`[↑ Back to top`#top]`_`f`a